/**
 *  CSV Parser
 *  Luciano RUBIO <luciano@loociano.com>
 *
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include "CSVRow.hpp"

/**
 * Override operator []
 */
string const& CSVRow::operator[](size_t index) const
{
	if (index > row.size())
		return "";
	return row[index];
}

/**
 * Returns size of the row
 */
size_t CSVRow::size() const
{
	return row.size();
}

/**
 * Reads next row
 */
void CSVRow::readNextRow(istream& str)
{
	string line;
	getline(str, line);

	stringstream lineStream(line);
	string cell;

	row.clear();
	while (getline(lineStream, cell, ';'))
	{
		row.push_back(cell);
	}
}
